<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--
    数组对象的常见操作
      1.数组创建
-->


<script>

  // 通过字面量形式常见数组
   var  arr = [1,10,5,8]
  // 通过使用Array()构造函数实现数组创建
  // var arr2 = new Array(3)
  // arr2[0] = "Saab"
  // arr2[1] = "Volvo"
  // arr2[2] = "BMW"
  // 创建数组方式 3
  // var myCars= new Array("Saab","Volvo","BMW");

  // 数组的常见操作

  // 判定数组的长度
  console.log("---------------arr.length-----------------")
  console.log(arr.length)
  // 将数组中的元素拼接成字符串   批量删除   [1,2,3,4]  '1,2,3,4,5'   split(",")
  console.log("---------------arr.join(',')-----------------")
  console.log(arr.join(','));
  console.log( typeof  arr.join(','));
  console.log("--------------- arr.sort()-----------------")
  //  function (a,b){return b-a}
  console.log( arr.sort(function (a,b){return b-a}));

  // 遍历数组
  console.log("--------------- arr.fori-----------------")
  for (let i = 0; i < arr.length; i++) {
    console.log(arr[i])
  }

  console.log("--------------- arr.forEach-----------------")
  arr.forEach(num => console.log(num))

  // 筛选数组中的数据
  console.log("---------------arr.filter(n=>num>5)-----------------")
  let newArr =  arr.filter(n=>n>5)
  console.log(newArr.toString())

  // 操作数组中的元素 生成一个新数组
  console.log("---------------arr.map(n=>n+2)-----------------")
  newArr =  arr.map(n=>n+2)
  console.log(newArr.toString())

  // 添加元素到数组
  console.log("--------------- arr2.push(1)-----------------")
  var  arr2 = new Array()
  arr2.push(1)
  arr2.push(2)
  arr2.push(3)
  arr2.push(4)
  console.log(arr2.toString())
  console.log("--------------- arr2.pop()-----------------")
  // 删除数组中的元素  删除最后一元素
  var  num = arr2.pop()
  console.log(num)
  console.log(arr2.toString())   // [1,2,3]

  console.log("---------------arr2.unshift(0)-----------------")
  // 添加元素到队首
  arr2.unshift(0)
  console.log(arr2.toString())
  console.log("---------------arr2.shift()-----------------")
  // 删除最前面 元素
  var shift = arr2.shift();
  console.log(shift)
  console.log(arr2.toString())

  console.log("---------------arr2.splice(1,1)-----------------")
  // 删除指定指定的元素  参数1  起始位置  参数2  删除元素的个数
  // var splice = arr2.splice(1,1);
  var splice = arr2.splice(1,1,[5,6,7,8]);
  console.log(splice)
  console.log(arr2.toString())

  console.log("---------------arr2.concat(arr3)-----------------")
  //  数组的连接
  var arr3 = [10,20,30]
  var concat = arr2.concat(arr3);
  console.log(concat.toString())
</script>

</body>
</html>